約 3,751,018 件
https://w.atwiki.jp/ieyasu-eps/pages/9.html
GCC仙台交流 仙台交流活動の一環としての復興庁等視察について
https://w.atwiki.jp/m_shige1979/pages/578.html
GCC 初期設定 文法 ライブラリ サンプル
https://w.atwiki.jp/busters/pages/15.html
SH3用gccのクロスコンパイル ・用意するもの 下記のものをホームディレクトリに用意する。 http //www.sh-linux.org/index-j.htmlより gcc-3.0.4-3.src.rpm glibc-2.2.2-1.sh3.rpm glibc-devel-2.2.2-1.sh3.rpm CYGWINで必要になる追加パッケージ [utils] rpm [devel] gcc-core make patch readline bison flex gettext [interpreters] perl どこからか入手する binutils-2.11.92-20011113-src.tar.gz linux-2.4.18.tar.bz2 ここから patch-binutil-2.11.92.diff patch-gcc-blrtx4-20080701.diff ・glibcの展開 cd /home/hogehoge rpm --root /tmp/cross-sh3 -ivh --force --nodeps --ignoreos --ignorearch --noscripts glibc-2.2.2-1.sh3.rpm rpm --root /tmp/cross-sh3 -ivh --force --nodeps --ignoreos --ignorearch --noscripts glibc-devel-2.2.2-1.sh3.rpm mkdir /usr/local/cross-sh3 cp -ar /tmp/cross-sh3/lib /usr/local/cross-sh3 cp -ar /tmp/cross-sh3/usr/include /usr/local/cross-sh3 cp -ar /tmp/cross-sh3/usr/lib /usr/local/cross-sh3 rm -r /tmp/cross-sh3 binutilsをコンパイル cd /home/hogehoge tar xzfv binutils-2.11.92-20011113-src.tar.gz patch -p0 patch-binutil-2.11.92.diff cd binutils-2.11.92-20011113 mkdir sh3-linux-build cd sh3-linux-build ../configure --disable-nls --target=sh3-linux --prefix=/usr/local/cross-sh3 make make install gccをコンパイル export PATH=$PATH /usr/local/cross-sh3/bin cd /home/hogehoge mkdir /usr/src/rpm rpm --root / -ivh --force --nodeps --ignorearch --ignoreos --noscript gcc-3.0.4-3.src.rpm cp patch-gcc-blrtx4-20080701.diff /usr/src/rpm/SOURCES cd /usr/src/rpm/SOURCES/ tar xjfv gcc-3.0.4.tar.bz2 cd gcc-3.0.4 patch -p1 /usr/src/rpm/SOURCES/gcc-sh-linux-3.0.4-20020215-1.patch patch -p1 /usr/src/rpm/SOURCES/gcc-3.0.4-libspec.patch patch -p1 /usr/src/rpm/SOURCES/gcc-3.0.4-static-libgcc.patch patch -p1 /usr/src/rpm/SOURCES/patch-gcc-blrtx4-20080701.diff mkdir sh3-linux-build cd sh3-linux-build ../configure --prefix=/usr/local/cross-sh3 --target=sh3-linux --host=i686-pc-cyg win --build=i686-pc-cygwin --enable-languages=c,c++ --mandir=/usr/local/cross-sh 3/share/man --with-system-zlib --with-gxx-include-dir=/usr/local/cross-sh3/inclu de/g++-v3 --includedir=/usr/local/cross-sh3/include --disable-checking --with-x= no --enable-threads=posix --enable-long-long --with-as=/usr/local/cross-sh3/bin/ sh3-linux-as --with-ld=/usr/local/cross-sh3/bin/sh3-linux-ld --with-cpu=sh3 make all-gcc make install ライブラリパスの修正 cd /usr/local/cross-sh3/lib ln -sf libutil.so.1 libutil.so ln -sf libthread_db.so.1 libthread_db.so ln -sf librt.so.1 librt.so ln -sf ibresolv.so.2 ibresolv.so ln -sf libresolv.so.2 libresolv.so ln -sf libpthread.so.0 libpthread.so ln -sf libnss_nisplus.so.2 libnss_nisplus.so ln -sf libnss_nis.so.2 libnss_nis.so ln -sf libnss_hesiod.so.2 libnss_hesiod.so ln -sf libnss_files.so.2 libnss_files.so ln -sf libnss_dns.so.2 libnss_dns.so ln -sf libnss_compat.so.2 libnss_compat.so ln -sf libnsl.so.1 libnsl.so ln -sf libm.so.1 libm.so ln -sf libdl.so.2 libdl.so ln -sf libcrypt.so.1 libcrypt.so ln -sf libBrokenLocale.so.1.1 libBrokenLocale.so cp -ar /usr/local/cross-sh3/lib /usr/local/cross-sh3/sh3-linux cat /usr/local/cross-sh3/sh3-linux/lib/libc.so GROUP ( /usr/local/cross-sh3/sh3-linux/lib/libc.so.6.1 /usr/local/cross-sh3/sh3-linux/lib/libc_nonshared.a ) [CTRL+D] 参照したもの http //www.si-linux.co.jp/wiki/cat/index.php?Cygwin%BE%E5%A4%C7SH3%A5%AF%A5%ED%A5%B9%A5%B3%A5%F3%A5%D1%A5%A4%A5%EB%B4%C4%B6%AD%A4%F2%C0%B0%A4%A8%A4%EB
https://w.atwiki.jp/darum/pages/298.html
定義済みマクロやインクルードディレクトリ、ライブラリディレクトリを表示する echo "" | gcc -v -E -dM -
https://w.atwiki.jp/hogazurou/pages/127.html
ARM オプティマイズのARM7 LPC2214 ARM-GCC勉強 日本語参考サイトがなかなか見つからない。 海外サイトを見るしかないのかな データシートもっと細かく書いてあるものはないんだろうか? 基礎の基礎 サンプルプログラムの解読 lpc2214.hの解読 volatile 黙っていると処理系で行われる最適化を抑止する *(unsigned long int *)(0x00efd00c) レジスタのアドレス 0x00efd00c番地 レジスタの長さ 4バイト Link ARM-Project ARM-lib NXP
https://w.atwiki.jp/nalu/pages/17.html
gccとgdbについて覚え書き gdb breakポイント breakポイントのセット break ファイル名 行番号 break 行番号 break 関数名 delete 番号 breakポイントの削除 ステップ実行 step stepi マシンコード単位のステップ実行 next 関数内部に入らないステップ実行 情報 info 全breakポイントの表示など 表示 print print/オプション d 符号つき10進数で表示する。 u 符号無し10進数で表示する。 f 浮動小数点数値で表示する。 x 16進数で表示する。 o 8進数で表示する。 t 2進数で表示する。 c 文字(char型)として表示する。 i アセンブラ set print elements 数 表示する量を指定。0で無制限 show print elements セットしたprint elementsを表示 メモリ x x/s 文字列 x/i アセンブラのマシンインストラクション表示 x/10i x/iを10行表示
https://w.atwiki.jp/akcnv/pages/14.html
特に-O2で有効にならない最適化オプションを -finline-functions (enabled at -O3) Integrate all simple functions into their callers. The compiler heuristically decides which functions are simple enough to be worth integrating in this way. If all calls to a given function are integrated, and the function is declared static, then the function is normally not output as assembler code in its own right. -funswitch-loops (enabled at -O3) Move branches with loop invariant conditions out of the loop, with duplicates of the loop on both branches (modified according to result of the condition). -fpredictive-commoning (enabled at -O3) Perform predictive commoning optimization, i.e., reusing computations (especially memory loads and stores) performed in previous iterations of loops. -fgcse-after-reload (enabled at -O3) When -fgcse-after-reload is enabled, a redundant load elimination pass is performed after reload. The purpose of this pass is to cleanup redundant spilling. -ftree-vectorize (enabled at -O3) Perform loop vectorization on trees. -mtune=cpu-type Tune to cpu-type everything applicable about the generated code, except for the ABI and the set of available instructions. The choices for cpu-type are generic Produce code optimized for the most common IA32/AMD64/EM64T processors. If you know the CPU on which your code will run, then you should use the corresponding -mtune option instead of -mtune=generic. But, if you do not know exactly what CPU users of your application will have, then you should use this option. As new processors are deployed in the marketplace, the behavior of this option will change. Therefore, if you upgrade to a newer version of GCC, the code generated option will change to reflect the processors that were most common when that version of GCC was released. native This selects the CPU to tune for at compilation time by determining the processor type of the compiling machine. Using -mtune=native will produce code optimized for the local machine under the constraints of the selected instruction set. Using -march=native will enable all instruction subsets supported by the local machine (hence the result might not run on different machines). -fmodulo-sched Perform swing modulo scheduling immediately before the first scheduling pass. This pass looks at innermost loops and reorders their instructions by overlapping different iterations. -fmodulo-sched-allow-regmoves Perform more aggressive SMS based modulo scheduling with register moves allowed. By setting this flag certain anti-dependences edges will be deleted which will trigger the generation of reg-moves based on the life-range analysis. This option is effective only with -fmodulo-sched enabled. -funroll-loops Unroll loops whose number of iterations can be determined at compile time or upon entry to the loop. -funroll-loops implies -frerun-cse-after-loop. This option makes code larger, and may or may not make it run faster. -fprefetch-loop-arrays If supported by the target machine, generate instructions to prefetch memory to improve the performance of loops that access large arrays. This option may generate better or worse code; results are highly dependent on the structure of loops within the source code. Disabled at level -Os. -ffast-math Sets -fno-math-errno, -funsafe-math-optimizations, -ffinite-math-only, -fno-rounding-math, -fno-signaling-nans and -fcx-limited-range. This option causes the preprocessor macro __FAST_MATH__ to be defined. This option is not turned on by any -O option since it can result in incorrect output for programs which depend on an exact implementation of IEEE or ISO rules/specifications for math functions. It may, however, yield faster code for programs that do not require the guarantees of these specifications.
https://w.atwiki.jp/keisks/pages/312.html
管理者権限がない場合はlocalにあると何かと便利なので。 http //d.hatena.ne.jp/muupan/20140219/1392823181 http //qiita.com/t_uda/items/080ae8adf924f83d2133 e.g. https //gcc.gnu.org/mirrors.html (see release directory) wget ~~~ tar zxvf gcc-4.9.4.tar.gz cd gcc-4.9.4/ ./contrib/download_prerequisites mkdir build cd build ../configure --prefix=$HOME/local make make install
https://w.atwiki.jp/gccwiki/
GCCwiki このwikiはGCC(ゲームクリエイトサークル)(ゲームクリエイトクラブ)でのゲーム制作支援を目的として設立・運営しています。 制作状況の確認、データの送受信などに活用してください。 利用にあたって 編集にはメンバー登録が必要です。 更新の連絡 20012/10/13 脚本の最新版はVer(d+)です プロジェクトデータの最新版は(a)です 脚本のダウンロードは"シナリオ(素材置場)"からどうぞ 2012/09/29 アップロード方法についての説明ページを作成しました。 手順が分からない時の確認にご利用ください。 ★アップロード方法について★
https://w.atwiki.jp/aroe/pages/36.html
LatticeMico8 GCCのバグなど static変数が呼び出す度に初期化される。これの関連でグローバル変数もなんか変。 →グローバル変数、スタティック変数は使わない。 unsigned char ary[16] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; のような大きめの配列を使うとエラーが出る。 →アセンブラを使うしかない。 コンパイラオプション =mcmodel=small は使えない →諦める